#ifndef _PHYSICS_MANAGER_HPP_
#define _PHYSICS_MANAGER_HPP_

#include "../objects/Object.hpp"
#include "../utils/Numerics.hpp"
#include <list>
using namespace std;

namespace klasPhysics
{
class Object;

class PhysicsManager
{

private:
	list<Object*> m_AliveObjects,
				  m_SleepingObjects;

	void GetCollisions();	// This function performs a quick collision test between two objects

	Vector3D	  m_Gravity;

public:
	void SetGravity(const Vector3D &gravity);


	void Update(Real totalTime, Real timeStep);
	void AddObject(Object *obj);

};

}
#endif